module ICarry {
    
    export class OtherViewModel {

        public firstName: KnockoutObservable<string>;
        public lastName: KnockoutObservable<string>;
        public fullName: KnockoutObservable<string>;

        constructor(firstName: string, lastName: string) {

            this.firstName = ko.observable(firstName);
            this.lastName = ko.observable(lastName);

            this.fullName = ko.computed(() => {
                return this.firstName() + " " + this.lastName();
            });

        }

        public Initialize(app: PrismBreak.PbApp, view:PrismBreak.View) {
            ko.applyBindings(this, view.Node);
        }

        public CapitalizeLastName(): void {

            this.lastName(this.lastName().toUpperCase());
        }


    }

}